// 导入 vue
import Vue from "vue";
// 导入 vuex
import Vuex from "vuex";

import vuexTest from "@/modules/vuexTest";
// vuex也是vue的插件, 需要use一下, 进行插件的安装初始化
Vue.use(Vuex);

//demo
// 状态对象
const state = {
  // 初始化状态 这里放置的状态可以被多个组件共享
  count: 99,
  count1: 1,
  count2: 2,
  count3: 3,
  name: "daming",
};
const mutations = {};
const actions = {};
const getters = {};

// 创建仓库 store
const store = new Vuex.Store({
  state, // 状态
  mutations: {
    addCount(state, num) {
      if (num) {
        state.count += num
      }else{
        state.count += 1
      }
    },
  }, // 包含多个更新state函数的对象
  actions, // 包含多个队形事件回调函数的对象
  getters, // 包含多个getter计算属性函数的对象
  modules: {
    // 模块化
    vuexTest,
  },
  strict: true,
});

// 导出仓库
export default store;
